package org.neu.onlineparadise.Exception;

/*
*
* 调用 Result 统一处理全局错误
* 参数校验错误处理
* */

import org.neu.onlineparadise.Result.Result;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RestControllerAdvice;

//处理控制器全局异常、增强控制器功能
//在一个类添加此注解，并定义处理异常的方法
//当应用中的控制方法抛出异常时，Spring框架会自动调用该注解的类进行处理
@RestControllerAdvice       //自动被spring框架识别并应用
public class GlobalExceptionHandler {

    public Result handleException(Exception e){
        e.printStackTrace();        //控制台打印错误信息，有利于开发与调试
        return Result.error(StringUtils.hasLength(e.getMessage())?e.getMessage():"操作失败");   //会被转换为json格式
        //String.hasLength:是否为空且长度不为0Rest
    }
}
